package com.share.example.stock.model.db;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 *
 * </p>
 *
 * @author author
 * @since 2023-06-17
 */
@Data
@Accessors(chain = true)
@TableName("tas_stock_base_info")
public class StockBaseInfo implements Serializable {

    private static final long serialVersionUID = 1L;
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 是否需要分析：1需要，0不需要，默认是不需要
     */
    @TableField(value = "name_fc")
    private String nameFc;
    private String status;
    /**
     * 股票编码
     */
    private String code;
    /**
     * code的前3位
     */
    @TableField(value = "code_prefix3")
    private String codePrefix3;
    /**
     * sh或sz  + 股票编码
     */
    private String symbol;
    /**
     * 行业
     */
    private String industry;
    /**
     * 股票简写名称
     */
    private String name;
    /**
     * 公司名称
     */
    @TableField(value = "company_name")
    private String companyName;
    /**
     * 主营业务
     */
    @TableField(value = "main_business")
    private String mainBusiness;
    /**
     * 每股最新价-单位元
     */
    @TableField(value = "last_price")
    private Double lastPrice;

    /**
     * 最后的成交量
     */
    @TableField(value = "last_volume")
    private Long lastVolume;
    /**
     * 上市时间 YYYY-mm-dd
     */
    @TableField(value = "listing_time")
    private String listingTime;
    /**
     * 成立时间 YYYY-mm-dd
     */
    @TableField(value = "establish_time")
    private String establishTime;
    /**
     * 所属市场
     */
    @TableField(value = "exchange_market")
    private String exchangeMarket;
    /**
     * 法人名称
     */
    @TableField(value = "legal_person_name")
    private String legalPersonName;
    /**
     * 注册资金
     */
    @TableField(value = "register_capital")
    private Double registerCapital;
    /**
     * 经营范围
     */
    @TableField(value = "business_scope")
    private String businessScope;
    /**
     * 办公地址
     */
    @TableField(value = "office_address")
    private String officeAddress;
    /**
     * 注册地址
     */
    @TableField(value = "register_address")
    private String registerAddress;
    /**
     * 总股价-单位元
     */
    @TableField(value = "total_capital")
    private Double totalCapital;
    /**
     * 拉取状态：0待处理,1拉取成功,-1拉取1次失败
     */
    @TableField(value = "base_pull_count")
    private Integer basePullCount;
    /**
     * 更新时间
     */
    @TableField(value = "base_update_time")
    private Date baseUpdateTime;

    @TableField(value = "day_pull_count")
    private Integer dayPullCount;
    /**
     * 更新时间
     */
    @TableField(value = "day_update_time")
    private Date dayUpdateTime;

    /**
     * 流通股价-单位元
     */
    @TableField(value = "floating_capital")
    private Double floatingCapital;
    /**
     * 市净率
     */
    @TableField(value = "turnover_rate")
    private Double turnoverRate;
    /**
     * 市盈率动态
     */
    @TableField(value = "pe_d")
    private Double peD;

    @TableField(value = "last_price_update_time")
    private Date lastPriceUpdateTime;

    @TableField(value = "day_total_record")
    private Integer dayTotalRecord;

    @TableField(value = "last_price_rate")
    private Double lastPriceRate;

    @TableField(value = "hy_plates")
    private String hyPlates;
    @TableField(value = "gn_plates")
    private String gnPlates;
    @TableField(value = "industry_name")
    private String industryName;
    @TableField(value = "plates_update_time")
    private Date platesUpdateTime;

    @TableField(value = "d5_volume_avg")
    private Double d5VolumeAvg;
    @TableField(value = "d5_samp")
    private Double d5Samp;
    @TableField(value = "d5_avg")
    private Double d5Avg;
    @TableField(value = "d5_min_d_avg")
    private Double d5MinDAvg;
    @TableField(value = "d5_max_d_avg")
    private Double d5MaxDAvg;
    @TableField(value = "d5_max_min_d_min")
    private Double d5MaxMinDMin;

    @TableField(value = "d10_volume_avg")
    private Double d10VolumeAvg;
    @TableField(value = "d10_samp")
    private Double d10Samp;
    @TableField(value = "d10_avg")
    private Double d10Avg;
    @TableField(value = "d10_min_d_avg")
    private Double d10MinDAvg;
    @TableField(value = "d10_max_d_avg")
    private Double d10MaxDAvg;
    @TableField(value = "d10_max_min_d_min")
    private Double d10MaxMinDMin;

    @TableField(value = "d20_volume_avg")
    private Double d20VolumeAvg;
    @TableField(value = "d20_samp")
    private Double d20Samp;
    @TableField(value = "d20_avg")
    private Double d20Avg;
    @TableField(value = "d20_min_d_avg")
    private Double d20MinDAvg;
    @TableField(value = "d20_max_d_avg")
    private Double d20MaxDAvg;
    @TableField(value = "d20_max_min_d_min")
    private Double d20MaxMinDMin;


    @TableField(value = "d60_volume_avg")
    private Double d60VolumeAvg;
    @TableField(value = "d60_samp")
    private Double d60Samp;
    @TableField(value = "d60_avg")
    private Double d60Avg;
    @TableField(value = "d60_min_d_avg")
    private Double d60MinDAvg;
    @TableField(value = "d60_max_d_avg")
    private Double d60MaxDAvg;
    @TableField(value = "d60_max_min_d_min")
    private Double d60MaxMinDMin;
    @TableField(value = "dn_update_time")
    private Date dnUpdateTime;
}
